`:top
`!Basic Linear Algebra Subprograms`! (kurz: `!BLAS`!) bezeichnet eine `F33f`_`[Programmbibliothek`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Programmbibliothek]`_`f, die elementare Operationen der `F33f`_`[linearen Algebra`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Lineare_Algebra]`_`f wie `F33f`_`[Vektor`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Vektor]`_`f- und `F33f`_`[Matrixmultiplikationen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Matrix_(Mathematik)]`_`f bereitstellt. Es gibt eine Vielzahl von Implementierungen in verschiedenen Sprachen bzw. für verschiedene Architekturen und Plattformen. Der Vorteil von BLAS liegt nicht nur in der Wiederverwendbarkeit und der Arbeitserleichterung für den Programmierer, sondern auch in der Möglichkeit für Hardwarehersteller, für diese häufig gebrauchten Subroutinen hochoptimierte, zum Teil in `F33f`_`[Assembler`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Assembler_(Informatik)]`_`f realisierte Implementierungen bereitzustellen.`:cite-ref-bench-1-0[`F5bf`_`[1`#cite-note-bench-1]`_`f] Daher finden BLAS vor allem im `F33f`_`[Supercomputing`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Supercomputer]`_`f-Bereich breite Verwendung.
Die Definition der Schnittstelle zu BLAS ist ein `F33f`_`[De-facto-Standard`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=De-facto-Standard]`_`f.
>>Contents
• `F0af`_`[Funktionalität`#funktionalit-t]`_`f
• `F0af`_`[Level 1`#level-1]`_`f
• `F0af`_`[Level 2`#level-2]`_`f
• `F0af`_`[Level 3`#level-3]`_`f
• `F0af`_`[Implementierungen`#implementierungen]`_`f
• `F0af`_`[Weblinks`#weblinks]`_`f
• `F0af`_`[Einzelnachweise`#einzelnachweise]`_`f
-─
>>Funktionalität
Es werden folgende Datentypen unterstützt: `*single`* (32 Bit), `*double`* (64 Bit), `*complex`* (2 × 32 Bit), `*doublecomplex`* (2 × 64 Bit).
Die Funktionalität von BLAS wird in drei Stufen (Level) unterteilt:
>>>Level 1
Level 1 enthält `F33f`_`[Vektor`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Vektor]`_`f-Rechenoperationen der Form
y ← ← α α x + y {\\displaystyle \\mathbf {y} \\leftarrow \\alpha \\mathbf {x} +\\mathbf {y} }
sowie unter anderem das `F33f`_`[Skalarprodukt`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Skalarprodukt]`_`f und `F33f`_`[Vektornormen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Norm_(Mathematik)]`_`f.
>>>Level 2
Level 2 enthält `F33f`_`[Vektor-Matrix-Rechenoperationen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Matrix-Vektor-Produkt]`_`f der Form
y ← ← α α A x + β β y {\\displaystyle \\mathbf {y} \\leftarrow \\alpha A\\mathbf {x} +\\beta \\mathbf {y} }
sowie unter anderem das Lösen von `F33f`_`[linearen Gleichungssystemen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Lineares_Gleichungssystem]`_`f T x = y {\\displaystyle T\\mathbf {x} =\\mathbf {y} } mit Matrix T {\\displaystyle T} in `F33f`_`[Dreiecksform`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Dreiecksmatrix]`_`f.
>>>Level 3
Level 3 enthält `F33f`_`[Matrix-Rechenoperationen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Matrixmultiplikation]`_`f der Form
C ← ← α α A B + β β C {\\displaystyle C\\leftarrow \\alpha AB+\\beta C\\!}
sowie unter anderem das Lösen von B ← ← α α T − − 1 B {\\displaystyle B\\leftarrow \\alpha T^{-1}B} für Matrix T {\\displaystyle T} in `F33f`_`[Dreiecksform`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Lineares_Gleichungssystem]`_`f. Dieser Level enthält die oft benötigte Matrixmultiplikation.
>>Implementierungen
`!refblas`!
Offizielle Referenzimplementierung von `F33f`_`[Netlib`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Netlib]`_`f. `F33f`_`[C-`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=C_(Programmiersprache)]`_`f und `F33f`_`[Fortran-77`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Fortran]`_`f-Versionen sind verfügbar.
`!ACML`!
`F33f`_`[AMD`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=AMD]`_`f Core Math Library, für AMD-`F33f`_`[Athlon`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Athlon]`_`f- und -`F33f`_`[Opteron`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=AMD_Opteron]`_`f-CPUs unter `F33f`_`[Linux`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Linux]`_`f und `F33f`_`[Windows`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Microsoft_Windows]`_`f.
`!ATLAS`!
`F33f`_`[Automatically Tuned Linear Algebra Software`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Automatically_Tuned_Linear_Algebra_Software]`_`f, ein `F33f`_`[Open-Source`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Open_Source]`_`f-Implementierung der BLAS-`F33f`_`[APIs`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Programmierschnittstelle]`_`f für C und Fortran 77.
`!ESSL`!
`F33f`_`[IBMs`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=IBM]`_`f Engineering and Scientific Subroutine Library, für die `F33f`_`[PowerPC`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=PowerPC]`_`f Architektur unter `F33f`_`[AIX`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=AIX]`_`f und Linux.
`!Goto BLAS`!
BLAS-Implementierung von Kazushige Goto.`:cite-ref-goto-2-0[`F5bf`_`[2`#cite-note-goto-2]`_`f]
`!OpenBLAS`!
Weiterentwicklung von Goto BLAS für moderne Prozessoren.
`!HP MLIB`!
`F33f`_`[HPs`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Hewlett-Packard]`_`f Math library, für die Architekturen `F33f`_`[Itanium`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Intel_Itanium]`_`f, `F33f`_`[PA-RISC`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=PA-RISC]`_`f, `F33f`_`[x86`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=X86-Prozessor]`_`f und Opteron unter `F33f`_`[HP-UX`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=HP-UX]`_`f und Linux.
`!IMKL`!
Intel `F33f`_`[Math Kernel Library`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Math_Kernel_Library]`_`f (BLAS, LAPACK, ScaLAPACK, Sparse Solvers, FFT, Vector Math), für Intel-Prozessoren unter Linux, `F33f`_`[macOS`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=MacOS]`_`f und Windows.
`!LAMA`!
Die Library for Accelerated Math Applications (LAMA) ist eine, in C++ geschriebene, Template-Bibliothek zum Schreiben numerischer Löser für verschiedene Hardware (z. B. `F33f`_`[GPUs`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Grafikprozessor]`_`f mittels `F33f`_`[CUDA`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=CUDA]`_`f oder `F33f`_`[OpenCL`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=OpenCL]`_`f) in Systemen mit verteiltem Speicher – sie versteckt die hardwarespezifische Programmierung vor dem Anwendungsentwickler.`:cite-ref-3[`F5bf`_`[3`#cite-note-3]`_`f]
`!MTL4`!
Die `F33f`_`[Matrix Template Library`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Matrix_Template_Library]`_`f Version 4 ist eine generische `F33f`_`[C++`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=C++]`_`f-Template-Bibliothek für schwach und voll besetzte BLAS-Funktionalität. MTL4 bietet ein intuitives Interface (ähnlich `F33f`_`[Matlab`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Matlab]`_`f) und dank `F33f`_`[Generischer Programmierung`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Generische_Programmierung]`_`f eine breite Anwendbarkeit.
`!uBLAS`!
Eine generische C++-Klassenbibliothek, welche BLAS-Funktionalität bereitstellt, Teil der `F33f`_`[Boost`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Boost_(C++-Bibliothek)]`_`f-Bibliothek.
`!CUBLAS`!
Die `F33f`_`[Nvidia`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Nvidia]`_`f-Implementierung von BLAS für die `F33f`_`[CUDA`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Compute_Unified_Device_Architecture]`_`f-Technologie.
`!clBLAS`!
Eine Implementierung von BLAS für `F33f`_`[OpenCL`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=OpenCL]`_`f.
`!AmdBLAS`!
Die `F33f`_`[AMD`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=AMD]`_`f-Implementierung von BLAS für das ATI-Stream-SDK.
`!Armadillo`!
Die Armadillo Template-Bibliothek ist ein Wrapper für C++.
`!UTL_NLA`!
Subset der Implementierung von BLAS und `F33f`_`[LAPACK`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=LAPACK]`_`f als `F33f`_`[PL/SQL`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=PL/SQL]`_`f Package in der `F33f`_`[Oracle Datenbank`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Oracle_(Datenbanksystem)]`_`f ab Version 9i
>>Weblinks
• Referenz BLAS-Website
• OpenBLAS
• BLAS-Implementierung Automatically Tuned Linear Algebra Software (ATLAS)
• AmdBLAS für ATI Stream
>>Einzelnachweise
`:cite-note-bench-1`!1.`! `F0af`_`[↑`#cite-ref-bench-1-0]`_`f `*BLAS Benchmark-August2008.`* eigen.tuxfamily.org, 1. August 2008, abgerufen am 4. März 2010 (englisch).
`:cite-note-goto-2`!2.`! `F0af`_`[↑`#cite-ref-goto-2-0]`_`f `*Writing the Fastest Code, by Hand, for Fun: A Human Computer Keeps Speeding Up Chips.`* New York Times, John Markoff, 28. November 2005, abgerufen am 4. März 2010 (englisch).
`:cite-note-3`!3.`! `F0af`_`[↑`#cite-ref-3]`_`f www.libama.org
`c`F0af`_`[↑ Back to top`#top]`_`f`a